package com.g01.qt;

/**
 * 完成单链表的增删改查
 */
public class LinkNode {
    public static void main(String[] args) {
        // 创建一个头节点
        Node head = new Node(-1);

        // 先随意加入一些元素
        Node temp = head;
        for (int i = 1; i < 3; i++) {
            temp.setNext(new Node(i));  // 加入下一个节点
            temp = temp.getNext();  // 游动指针跑到下一个节点去
        }

        // 查看一下链表中的元素
        Node.show(head);  // 1->2->

        // 头插法 88
        Node.headAdd(head, 88);  // 88->1->2->

        // 尾插法 99
        Node.endAdd(head, 99);  // 88->1->2->99->

        // 指定位置插入
        Node.centerAdd(head, 100, 10);  // 位置违法插入
        Node.centerAdd(head, 100, 3);  // 第3个位置插入100
        Node.show(head);  // 88->1->100->2->99->

        // 指定位置删除
        Node.delete(head, 3);  // 删中间  88->1->2->99->
        Node.delete(head, 1);  // 删表头  1->2->99->
        Node.delete(head, 3);  // 删表尾  1->2->
        Node.delete(head, 3);  // 删除位置违法
        Node.show(head);  // 1->2->
    }
}
